package geppetto.cat.constrains;


//public class BijectiveStats extends ConstrainedProjectionStats{
//
//	double likelihood=0;
//	double objective=0;
//	double originalLikelihood=0;
//	int totalProjection = 0;
//	int totalOfSentenceNoProjection = 0;
//	int totalOfSentenceNoStep=0;
//	int totalSentenceWithProjection=0;
//	int maxProjection = 0;
//	int minProjection = 1000;
//	int numberfb =0;
//	int time=0;
//	
//	
//	public String prettyPrint() {
//		StringBuffer res = new StringBuffer();
//		res.append("\nProjection stats:\n");
//		res.append("-log(origL) " + EStepStats.prettyPrint(-originalLikelihood, "0.000E00", 9) +"-log(L) " + EStepStats.prettyPrint(-likelihood, "0.000E00", 9) + " obj " + EStepStats.prettyPrint(objective, "0.000E00", 9) + " time " + EStepStats.formatTime(time));
//		res.append(" total " + totalProjection + " avg " + EStepStats.prettyPrint(totalProjection*1.0/totalSentenceWithProjection,"0.00",3) + " max " + maxProjection + " min " + minProjection + " no step " + totalOfSentenceNoStep + " no violatons " + totalOfSentenceNoProjection + " nfb " + numberfb);
//		return res.toString();
//	}
//	
//
//	public void add(SentenceConstrainedProjectionStats stats) {
//		SentenceBijectiveStats stats2 = (SentenceBijectiveStats) stats;
//		time += stats2.totalTime;
//		likelihood += Math.log(stats2.likelihood);
//		originalLikelihood += Math.log(stats2.originalLikelihood);
//		objective += stats2.objective;
//		numberfb+=stats2.fbcall;
//		if(stats2.noConstrains){
//			totalOfSentenceNoProjection++;
//		}else if(stats2.noStepFound){
//			totalOfSentenceNoStep++;
//		}else{
//			int nrProjection = stats2.numberOfProjections;
//			totalProjection += nrProjection;
//			totalSentenceWithProjection++;
//			if(nrProjection > maxProjection) maxProjection=nrProjection;
//			if(nrProjection < minProjection) minProjection=nrProjection;
//		}
//	}
//	
//	
//	
//}
